import {
  personAdd,
  personUpdate,personInfo
} from "../../../http/api"

Page({

  /**
   * 页面的初始数据
   */
  data: {
    id: "",
    name: "",
    idcard: "",
    family: "",
  },

  handleSubmit() {
    if (this.data.id) {
      this.handleUpdate()
    } else {
      this.handleAdd()
    }

  },



  isChinaIDCard(str) {
    const regExp = /^[1-9]\d{5}(19|20)\d{2}(0[1-9]|1[012])(0[1-9]|[12][0-9]|3[01])\d{3}[\dXx]$/;
    return regExp.test(str);
  },





  handleAdd() {
    const {
      name,
      idcard,
      family
    } = this.data

    if (!this.isChinaIDCard(idcard)) {
      wx.showToast({
        title: '身份证不正确',
        icon: 'error'
      })
      return
    }
    const params = {
      name,
      idcard,
      family,
      customerId: wx.getStorageSync('id')
    }
    wx.showLoading()
    personAdd(params).then(res => {
      if (res.data.code === 200) {
        wx.showToast({
          title: '提交成功',
        })
        setTimeout(() => {
          wx.navigateBack()
         }, 1000)
      }
    }).finally(() => {
      wx.hideLoading()
    })

  },


  handleUpdate() {
    const {
      id,
      name,
      idcard,
      family
    } = this.data

    if (!this.isChinaIDCard(idcard)) {
      wx.showToast({
        title: '身份证不正确',
        icon: 'error'
      })
      return
    }
    const params = {
      id,
      name,
      idcard,
      family,
      customerId: wx.getStorageSync('id')
    }
    wx.showLoading()
    personUpdate(params).then(res => {
      if (res.data.code === 200) {
        wx.showToast({
          title: '提交成功',
        })
        setTimeout(() => {
         wx.navigateBack()
        }, 1000)
      }
    }).finally(() => {
      wx.hideLoading()
    })
  },
  getData(){


    wx.showLoading()
    personInfo(this.data.id).then(res=>{
      if (res.data.code === 200) {
        const {id,name,idcard,family} = res.data.data
        this.setData({
          id,name,idcard,family
        })
      }
    }).finally(()=>{
      wx.hideLoading()
    })

  },


  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
    const {
      id
    } = options

    if (id) {
      this.setData({
        id
      })
      this.getData()
    }


  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  }
})